/*
* QNX License:
* Copyright 2010, QNX Software Systems. All Rights Reserved.
*
* You must obtain a written license from and pay applicable license fees to QNX
* Software Systems before you may reproduce, modify or distribute this software,
* or any work that includes all or part of this software.   Free development
* licenses are available for evaluation and non-commercial purposes.  For more
* information visit http://licensing.qnx.com or email licensing@qnx.com.
*
* This file may contain contributions from others.  Please review this entire
* file for other proprietary rights or license notices, as well as the QNX
* Development Suite License Guide at http://licensing.qnx.com/license-guide/
* for other information.
*/


package events 
{
	import flash.events.Event;
	
	
	/**
	 * @private
	 * A NavControllerEvent is dispatched into the event flow when a view has started to change, or when a view change operation has
	 *  completed.
	 * 
	 *  @see qnx.views.NavController
	 */
	public class NavControllerEvent extends Event {
		/**
		 * A constant indicating that a view change has started.
		 */
		public static const VIEW_CHANGING:String="navControllerEvent_view_changing";
		/**
		 * A constant indicating that a view change operation has completed.
		 */
		public static const VIEW_CHANGED:String ="navControllerEvent_view_changed";
		
		/**
		 * Creates a new NavControllerEvent instance.
		 * 
		 * @param	type The event type.
		 * @param	bubbles A <code>Boolean</code> that determines whether or not the event will bubble. <code>False</code>
		 * by default.
		 * @param	cancelable A <code>Boolean</code> that determines whether or not the event can be cancelled.
		 */
		
		public function NavControllerEvent(type : String, bubbles : Boolean = false, cancelable : Boolean = false) {
			super(type, bubbles, cancelable);
		}
		/** @private*/
		override public function clone():Event{
			return new NavControllerEvent(type, bubbles, cancelable);
		}
		/** @private*/
		override public function toString():String
		{
			return formatToString("NavControllerEvent", "type" );
		}
	}
}